package com.tarena.lbs.coupon.service;

import com.github.pagehelper.PageInfo;
import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.model.Result;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.coupon.api.pojo.param.UserCouponsParam;
import com.tarena.lbs.coupon.enums.StockResultEnum;
import com.tarena.lbs.coupon.pojo.param.CouponParam;
import com.tarena.lbs.coupon.pojo.po.CouponPO;
import com.tarena.lbs.coupon.pojo.query.CouponQuery;
import com.tarena.lbs.coupon.pojo.query.UserCouponQuery;
import com.tarena.lbs.coupon.pojo.vo.CouponVO;
import com.tarena.lbs.coupon.pojo.vo.UserCouponsVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

public interface CouponService {


    Result userInsertCoupon(UserCouponsParam param) throws BusinessException;

    PageResult<CouponVO> selectCoupon(CouponQuery query) throws BusinessException;

    StockResultEnum addCoupon(CouponParam couponParam);

    CouponVO detail(Integer id);


    PageResult<UserCouponsVO> selectByCountId(UserCouponQuery couponQuery);

    Integer addCouponExcel(MultipartFile file) throws IOException;

    List<CouponVO> getCouponList();

    int updateCoupon(CouponParam couponsParam);

    int deleteCoupon(Integer id);
}
